X-Git-Url: https://shimmer.witbreuk.eu/gitweb/UltimateKEYS.git/blobdiff_plain/1f96b29f3e6ce25f3b7bec185959ec061e6251c6..9a79dc16207e1fdb87fb868ac130056b35b8a605:/autohotkey/UltimateKEYS%20(for%20AutoHotkey%20v2).ahk?ds=inline diff --git a/autohotkey/UltimateKEYS (for AutoHotkey v2).ahk b/autohotkey/UltimateKEYS (for AutoHotkey v2).ahk index 079555f..d4ed72c 100644 --- a/autohotkey/UltimateKEYS (for AutoHotkey v2).ahk +++ b/autohotkey/UltimateKEYS (for AutoHotkey v2).ahk @@ -1,6 +1,6 @@ #requires AutoHotkey v2 -; UltimateKEYS (for AutoHotkey v2).ahk - 2025-01-29 +; UltimateKEYS (for AutoHotkey v2).ahk - 2025-02-19 ; Website : https://pieter-degroote.github.io/UltimateKEYS/ @@ -20,6 +20,8 @@ ListLines False ; omits recently executed lines from history (for privacy and SendMode "Input" ; optimizes for faster and more reliable input +global gEndKeys := "{bs}{esc}" ; ends dead key input on Backspace or Escape + ; Compose Key Sequences (declaration) @@ -260,8 +262,8 @@ compose[".g"] := "{u+0121}" ; (ġ) g with dot above compose[".G"] := "{u+0120}" ; (Ġ) G with dot above compose[".h"] := "{u+1e23}" ; (ḣ) h with dot above compose[".H"] := "{u+1e22}" ; (Ḣ) H with dot above -compose[".i"] := "{u+0131}" ; (ı) dotless i (Turkish, Azerbaijani) -compose[".I"] := "{u+0130}" ; (İ) I with dot above (Turkish, Azerbaijani) +compose[".i"] := "{u+0131}" ; (ı) dotless i +compose[".I"] := "{u+0130}" ; (İ) I with dot above compose[".j"] := "{u+0237}" ; (ȷ) dotless j compose[".l"] := "{u+0140}" ; (ŀ) l with middle dot compose[".L"] := "{u+013f}" ; (Ŀ) L with middle dot @@ -273,7 +275,6 @@ compose[".o"] := "{u+022f}" ; (ȯ) o with dot above compose[".O"] := "{u+022e}" ; (Ȯ) O with dot above compose[".p"] := "{u+1e57}" ; (ṗ) p with dot above compose[".P"] := "{u+1e56}" ; (Ṗ) P with dot above -compose[".q"] := "{u+1e9b}" ; (ẛ) long s with dot above compose[".r"] := "{u+1e59}" ; (ṙ) r with dot above compose[".R"] := "{u+1e58}" ; (Ṙ) R with dot above compose[".s"] := "{u+1e61}" ; (ṡ) s with dot above @@ -312,10 +313,10 @@ compose["-d"] := "{u+0111}" ; (đ) d with stroke compose["-D"] := "{u+0110}" ; (Đ) D with stroke compose["-e"] := "{u+0113}" ; (ē) e with macron compose["-E"] := "{u+0112}" ; (Ē) E with macron -compose["-g"] := "{u+01e5}" ; (ǥ) g with stroke (Skolt Sami) -compose["-G"] := "{u+01e4}" ; (Ǥ) G with stroke (Skolt Sami) -compose["-h"] := "{u+0127}" ; (ħ) h with stroke (Maltese) -compose["-H"] := "{u+0126}" ; (Ħ) H with stroke (Maltese) +compose["-g"] := "{u+01e5}" ; (ǥ) g with stroke +compose["-G"] := "{u+01e4}" ; (Ǥ) G with stroke +compose["-h"] := "{u+0127}" ; (ħ) h with stroke +compose["-H"] := "{u+0126}" ; (Ħ) H with stroke compose["-i"] := "{u+012b}" ; (ī) i with macron compose["-I"] := "{u+012a}" ; (Ī) I with macron compose["-j"] := "{u+0249}" ; (ɉ) j with stroke @@ -342,7 +343,6 @@ compose["-Z"] := "{u+01b5}" ; (Ƶ) Z with stroke ; Compose : Macron and Stroke (additional) -compose["_f"] := "{u+1e9d}" ; (ẝ) long s with high stroke compose["_g"] := "{u+1e21}" ; (ḡ) g with macron compose["_G"] := "{u+1e20}" ; (Ḡ) G with macron compose["_i"] := "{u+0268}" ; (ɨ) i with stroke @@ -394,24 +394,18 @@ compose["bd"] := "{u+0256}" ; (ɖ) small letter d with tail compose["bD"] := "{u+0189}" ; (Ɖ) capital letter African D compose["be"] := "{u+0115}" ; (ĕ) e with breve compose["bE"] := "{u+0114}" ; (Ĕ) E with breve -compose["bf"] := "{u+0259}" ; (ə) small letter schwa (Azerbaijani) -compose["bF"] := "{u+018f}" ; (Ə) capital letter schwa (Azerbaijani) compose["bg"] := "{u+011f}" ; (ğ) g with breve compose["bG"] := "{u+011e}" ; (Ğ) G with breve compose["bi"] := "{u+012d}" ; (ĭ) i with breve compose["bI"] := "{u+012c}" ; (Ĭ) I with breve compose["bo"] := "{u+014f}" ; (ŏ) o with breve compose["bO"] := "{u+014e}" ; (Ŏ) O with breve -compose["bs"] := "{u+0219}" ; (ș) s with comma below (Romanian) -compose["bS"] := "{u+0218}" ; (Ș) S with comma below (Romanian) -compose["bt"] := "{u+021b}" ; (ț) t with comma below (Romanian) -compose["bT"] := "{u+021a}" ; (Ț) T with comma below (Romanian) +compose["bs"] := "{u+0219}" ; (ș) s with comma below +compose["bS"] := "{u+0218}" ; (Ș) S with comma below +compose["bt"] := "{u+021b}" ; (ț) t with comma below +compose["bT"] := "{u+021a}" ; (Ț) T with comma below compose["bu"] := "{u+016d}" ; (ŭ) u with breve compose["bU"] := "{u+016c}" ; (Ŭ) U with breve -compose["bw"] := "{u+01bf}" ; (ƿ) small letter wynn -compose["bW"] := "{u+01f7}" ; (Ƿ) capital letter wynn -compose["by"] := "{u+021d}" ; (ȝ) small letter yogh -compose["bY"] := "{u+021c}" ; (Ȝ) capital letter yogh compose["b3"] := "{u+0292}" ; (ʒ) small letter ezh compose["b#"] := "{u+01b7}" ; (Ʒ) capital letter ezh @@ -534,6 +528,10 @@ compose["ls"] := "{u+0283}" ; (ʃ) Latin small letter esh compose["lS"] := "{u+01a9}" ; (Ʃ) Latin capital letter esh compose["lu"] := "{u+028a}" ; (ʊ) Latin small letter upsilon compose["lU"] := "{u+01b1}" ; (Ʊ) Latin capital letter upsilon +compose["lw"] := "{u+01bf}" ; (ƿ) small letter wynn +compose["lW"] := "{u+01f7}" ; (Ƿ) capital letter wynn +compose["ly"] := "{u+021d}" ; (ȝ) small letter yogh +compose["lY"] := "{u+021c}" ; (Ȝ) capital letter yogh compose["l8"] := "{u+0223}" ; (ȣ) small letter ou compose["l*"] := "{u+0222}" ; (Ȣ) capital letter OU compose["l7"] := "{u+0242}" ; (ɂ) small letter glottal stop @@ -816,8 +814,6 @@ compose["q0"] := "{u+21d4}" ; (⇔) left right double arrow ; Compose : Various Symbols compose["sa"] := "{u+2100}" ; (℀) account of -compose["sb"] := "{u+203d}" ; (‽) interrobang -compose["sB"] := "{u+2e18}" ; (⸘) inverted interrobang compose["sc"] := "{u+2105}" ; (℅) care of compose["sd"] := "{u+22c4}" ; (⋄) diamond operator compose["se"] := "{u+212e}" ; (℮) estimated symbol @@ -918,6 +914,8 @@ compose["ae"] := "{u+00e6}" ; (æ) letter ae compose["AE"] := "{u+00c6}" ; (Æ) letter AE compose["dh"] := "{u+00f0}" ; (ð) small letter eth compose["DH"] := "{u+00d0}" ; (Ð) capital letter eth +compose["ee"] := "{u+0259}" ; (ə) small letter schwa +compose["EE"] := "{u+018f}" ; (Ə) capital letter schwa compose["fs"] := "{u+017f}" ; (ſ) small letter long s compose["ij"] := "{u+0133}" ; (ij) ligature ij compose["IJ"] := "{u+0132}" ; (IJ) ligature IJ @@ -967,10 +965,12 @@ compose["o*"] := "{u+00b0}" ; (°) degree sign compose[".-"] := "{u+00b7}" ; (·) middle dot compose[".3"] := "{u+2026}" ; (…) horizontal ellipsis compose[".."] := "{u+2026}" ; (…) horizontal ellipsis -compose["a-"] := "{u+00aa}" ; (ª) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician) -compose["o-"] := "{u+00ba}" ; (º) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician) +compose["a-"] := "{u+00aa}" ; (ª) feminine ordinal indicator +compose["o-"] := "{u+00ba}" ; (º) masculine ordinal indicator compose["!!"] := "{u+00a1}" ; (¡) inverted exclamation mark compose["??"] := "{u+00bf}" ; (¿) inverted question mark +compose["!?"] := "{u+203d}" ; (‽) interrobang +compose["?!"] := "{u+2e18}" ; (⸘) inverted interrobang compose["oc"] := "{u+00a9}" ; (©) copyright sign compose["(c"] := "{u+00a9}" ; (©) copyright sign compose["op"] := "{u+2117}" ; (℗) sound recording copyright @@ -995,6 +995,10 @@ compose[";w"] := "{u+25e6}" ; (◦) white bullet compose[";h"] := "{u+2043}" ; (⁃) hyphen bullet compose[";t"] := "{u+2023}" ; (‣) triangular bullet compose[";;"] := "{u+2022}" ; (•) bullet +compose[":("] := "{u+2639}" ; (☹) white frowning face +compose[":)"] := "{u+263a}" ; (☺) white smiling face +compose[";)"] := "{u+263b}" ; (☻) black smiling face +compose["<3"] := "{u+2665}" ; (♥) black heart suit compose["[]"] := "{u+2610}" ; (☐) ballot box compose["[v"] := "{u+2611}" ; (☑) ballot box with check compose["[y"] := "{u+2611}" ; (☑) ballot box with check @@ -1831,9 +1835,8 @@ compose["?U"] := "{u+1ef0}" ; (Ự) U with horn and dot below >!sc056:: ; Right Alt + ISO Key <^>!sc029:: ; AltGr + Grave Accent <^>!sc056:: { ; AltGr + ISO Key - keys := InputHook("L2", "{esc}") - keys.Start() - keys.Wait() - if compose.Has(keys.Input) - Send compose[keys.Input] + ih := InputHook("L2", gEndKeys) + ih.Start(), ih.Wait() + if compose.Has(ih.Input) + Send compose[ih.Input] }